#pragma once

namespace SNMP 
{
	public ref class Community
	{
	internal:
		HSNMP_SESSION m_hSession;
		HSNMP_CONTEXT m_hContext;

	public: 
		property System::String^ Context
		{
			System::String^ get(void)
			{ 
				return Community::ContextToString(this->m_hContext,this->m_hSession);
			}
		};

	public:
		void Clear(void);
		~Community(void);

	internal:
		Community(void);
		Community(HSNMP_SESSION hSession, HSNMP_CONTEXT hContext);
		void CreateContextHandle(HSNMP_SESSION hSession, System::String^ context);
		System::String^ ContextToString(HSNMP_CONTEXT context, HSNMP_SESSION hSession);
	};
}